package main

import (
	"goframe-zc/middleware"
	"goframe-zc/utility"

	"github.com/gogf/gf/v2/frame/g"
	"github.com/gogf/gf/v2/net/ghttp"
	"github.com/gogf/gf/v2/os/gctx"

	// 关键：导入router包，触发其init()函数执行，注册路由
	_ "goframe-zc/router" // 空白导入（_表示仅导入包，不直接使用其内容）
	// 关键：导入MySQL驱动（空白导入，仅用于注册驱动）
	_ "github.com/gogf/gf/contrib/drivers/mysql/v2"
)

func main() {
	ctx := gctx.New()

	// 注册全局日志中间件（所有请求都会经过）
	s := g.Server()
	// 注册中间件
	s.Use(
		middleware.LogIDMiddleware,      // 日志ID
		ghttp.MiddlewareHandlerResponse, // 统一响应处理
	)
	// 初始化数据库日志（启用SQL调试）
	utility.InitDBLog()
	// 初始化路由（router包的init方法会自动执行）
	g.Log().Info(ctx, "服务启动：http://127.0.0.1:8000")

	g.Server().Run()
}
